package com.alibaba.citrus.ots.sales.plan.sdo;

import com.alibaba.citrus.ots.sales.plan.model.features.ContractFeatures;
import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.util.Date;

@Data
public class ContractSDO {

    @SerializedName(value = "id")
    private Long id;

    @SerializedName(value = "contractYear")
    private String contractYear;

    @SerializedName(value = "type")
    private String type;

    @SerializedName(value = "orgBusinessUnitCode")
    private String orgBusinessUnitCode;

    private String orgBusinessUnitOuterCode;

    @SerializedName(value = "orgSalesOrganizationCode")
    private String orgSalesOrganizationCode;

    @SerializedName(value = "orgSalesChannelCode")
    private String orgSalesChannelCode;

    private String orgSalesChannelOuterCode;

    @SerializedName(value = "orgSalesDepartmentCode")
    private String orgSalesDepartmentCode;

    private String orgSalesDepartmentOuterCode;

    @SerializedName(value = "channelCode")
    private String channelCode;

    @SerializedName(value = "customerCode")
    private String customerCode;

    @SerializedName(value = "customerAddress")
    private String customerAddress;

    @SerializedName(value = "customerAddressId")
    private String customerAddressId;

    @SerializedName(value = "manageEmployeeId")
    private String manageEmployeeId;

    @SerializedName(value = "scItemId")
    private String scItemId;

    @SerializedName(value = "scItemCategoryId")
    private String scItemCategoryId;

    @SerializedName(value = "annualQuantity")
    private Integer annualQuantity;

    @SerializedName(value = "annualAmount")
    private Long annualAmount;

    @SerializedName(value = "janQuantity")
    private Integer janQuantity;

    @SerializedName(value = "febQuantity")
    private Integer febQuantity;

    @SerializedName(value = "marQuantity")
    private Integer marQuantity;

    @SerializedName(value = "aprQuantity")
    private Integer aprQuantity;

    @SerializedName(value = "mayQuantity")
    private Integer mayQuantity;

    @SerializedName(value = "juneQuantity")
    private Integer juneQuantity;

    @SerializedName(value = "julyQuantity")
    private Integer julyQuantity;

    @SerializedName(value = "augQuantity")
    private Integer augQuantity;

    @SerializedName(value = "septQuantity")
    private Integer septQuantity;

    @SerializedName(value = "octQuantity")
    private Integer octQuantity;

    @SerializedName(value = "novQuantity")
    private Integer novQuantity;

    @SerializedName(value = "decQuantity")
    private Integer decQuantity;

    @SerializedName(value = "janAmount")
    private Long janAmount;

    @SerializedName(value = "febAmount")
    private Long febAmount;

    @SerializedName(value = "marAmount")
    private Long marAmount;

    @SerializedName(value = "aprAmount")
    private Long aprAmount;

    @SerializedName(value = "mayAmount")
    private Long mayAmount;

    @SerializedName(value = "juneAmount")
    private Long juneAmount;

    @SerializedName(value = "julyAmount")
    private Long julyAmount;

    @SerializedName(value = "augAmount")
    private Long augAmount;

    @SerializedName(value = "septAmount")
    private Long septAmount;

    @SerializedName(value = "octAmount")
    private Long octAmount;

    @SerializedName(value = "novAmount")
    private Long novAmount;

    @SerializedName(value = "decAmount")
    private Long decAmount;

    @SerializedName(value = "janAfterDiscount")
    private Long janAfterDiscount;

    @SerializedName(value = "febAfterDiscount")
    private Long febAfterDiscount;

    @SerializedName(value = "marAfterDiscount")
    private Long marAfterDiscount;

    @SerializedName(value = "aprAfterDiscount")
    private Long aprAfterDiscount;

    @SerializedName(value = "mayAfterDiscount")
    private Long mayAfterDiscount;

    @SerializedName(value = "juneAfterDiscount")
    private Long juneAfterDiscount;

    @SerializedName(value = "julyAfterDiscount")
    private Long julyAfterDiscount;

    @SerializedName(value = "augAfterDiscount")
    private Long augAfterDiscount;

    @SerializedName(value = "septAfterDiscount")
    private Long septAfterDiscount;

    @SerializedName(value = "octAfterDiscount")
    private Long octAfterDiscount;

    @SerializedName(value = "novAfterDiscount")
    private Long novAfterDiscount;

    @SerializedName(value = "decAfterDiscount")
    private Long decAfterDiscount;

    @SerializedName(value = "annualAfterDiscount")
    private Long annualAfterDiscount;

    @SerializedName(value = "janTaxIncludedBeforeTax")
    private Long janTaxIncludedBeforeTax;

    @SerializedName(value = "febTaxIncludedBeforeTax")
    private Long febTaxIncludedBeforeTax;

    @SerializedName(value = "marTaxIncludedBeforeTax")
    private Long marTaxIncludedBeforeTax;

    @SerializedName(value = "aprTaxIncludedBeforeTax")
    private Long aprTaxIncludedBeforeTax;

    @SerializedName(value = "mayTaxIncludedBeforeTax")
    private Long mayTaxIncludedBeforeTax;

    @SerializedName(value = "juneTaxIncludedBeforeTax")
    private Long juneTaxIncludedBeforeTax;

    @SerializedName(value = "julyTaxIncludedBeforeTax")
    private Long julyTaxIncludedBeforeTax;

    @SerializedName(value = "augTaxIncludedBeforeTax")
    private Long augTaxIncludedBeforeTax;

    @SerializedName(value = "septTaxIncludedBeforeTax")
    private Long septTaxIncludedBeforeTax;

    @SerializedName(value = "octTaxIncludedBeforeTax")
    private Long octTaxIncludedBeforeTax;

    @SerializedName(value = "novTaxIncludedBeforeTax")
    private Long novTaxIncludedBeforeTax;

    @SerializedName(value = "decTaxIncludedBeforeTax")
    private Long decTaxIncludedBeforeTax;

    @SerializedName(value = "annualTaxIncludedBeforeTax")
    private Long annualTaxIncludedBeforeTax;

    @SerializedName(value = "dataSource")
    private String dataSource;

    private Integer annualRedCount;

    private Integer janRedCount;

    private Integer febRedCount;

    private Integer marRedCount;

    private Integer aprRedCount;

    private Integer mayRedCount;

    private Integer juneRedCount;

    private Integer julyRedCount;

    private Integer augRedCount;

    private Integer septRedCount;

    private Integer octRedCount;

    private Integer novRedCount;

    private Integer decRedCount;

    private Integer janRedRatio;

    private Integer febRedRatio;

    private Integer marRedRatio;

    private Integer aprRedRatio;

    private Integer mayRedRatio;

    private Integer juneRedRatio;

    private Integer julyRedRatio;

    private Integer augRedRatio;

    private Integer septRedRatio;

    private Integer octRedRatio;

    private Integer novRedRatio;

    private Integer decRedRatio;

    @SerializedName(value = "gmt_create")
    private Date gmt_create;

    @SerializedName(value = "gmt_modified")
    private Date gmt_modified;

    @SerializedName(value = "creator")
    private String creator;

    @SerializedName(value = "updater")
    private String updater;

    @SerializedName(value = "features")
    private String features;

    @SerializedName(value = "tenantId")
    private String tenantId;

    private ContractFeatures contractFeatures;

    private String orgBusinessUnitName;

    private String orgSalesOrganizationName;

    private String orgSalesChannelName;

    private String orgSalesDepartmentName;

    private String channelName;

    private String customerName;

    private String customerAddressName;

    private String scItemName;

    private String annualAmountString;

    private String janAmountString;

    private String febAmountString;

    private String marAmountString;

    private String aprAmountString;

    private String mayAmountString;

    private String juneAmountString;

    private String julyAmountString;

    private String augAmountString;

    private String septAmountString;

    private String octAmountString;

    private String novAmountString;

    private String decAmountString;

    private String janAfterDiscountString;

    private String febAfterDiscountString;

    private String marAfterDiscountString;

    private String aprAfterDiscountString;

    private String mayAfterDiscountString;

    private String juneAfterDiscountString;

    private String julyAfterDiscountString;

    private String augAfterDiscountString;

    private String septAfterDiscountString;

    private String octAfterDiscountString;

    private String novAfterDiscountString;

    private String decAfterDiscountString;

    private String annualAfterDiscountString;

    private String janTaxIncludedBeforeTaxString;

    private String febTaxIncludedBeforeTaxString;

    private String marTaxIncludedBeforeTaxString;

    private String aprTaxIncludedBeforeTaxString;

    private String mayTaxIncludedBeforeTaxString;

    private String juneTaxIncludedBeforeTaxString;

    private String julyTaxIncludedBeforeTaxString;

    private String augTaxIncludedBeforeTaxString;

    private String septTaxIncludedBeforeTaxString;

    private String octTaxIncludedBeforeTaxString;

    private String novTaxIncludedBeforeTaxString;

    private String decTaxIncludedBeforeTaxString;

    private String annualTaxIncludedBeforeTaxString;

    private String scItemCode;
}
